#pragma once

#include "httplib.h"

class BaseController
{
public:
    virtual ~BaseController() = default;

protected:
    template <class Func, class T>
    auto bindController(Func &&func, T &&obj)
    {
        return std::bind(func, obj, std::placeholders::_1, std::placeholders::_2);
    }

public:
    virtual void bind(httplib::Server *server) = 0;
};
